#!/bin/bash

# Slackware build script for mcomix3

# Written by B. Watson (yalhcru@gmail.com)

# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.

cd $(dirname $0) ; CWD=$(pwd)

PRGNAM=mcomix3
VERSION=${VERSION:-20211016_483f4b3}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}

if [ -z "$ARCH" ]; then
  case "$( uname -m )" in
    i?86) ARCH=i586 ;;
    arm*) ARCH=arm ;;
       *) ARCH=$( uname -m ) ;;
  esac
fi

if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
  echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE"
  exit 0
fi

CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}

if [ "$ARCH" = "i586" ]; then
  SLKCFLAGS="-O2 -march=i586 -mtune=i686"
  LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
  SLKCFLAGS="-O2 -march=i686 -mtune=i686"
  LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
  SLKCFLAGS="-O2 -fPIC"
  LIBDIRSUFFIX="64"
else
  SLKCFLAGS="-O2"
  LIBDIRSUFFIX=""
fi

set -e

rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
tar xvf $CWD/$PRGNAM-$VERSION.tar.xz
cd $PRGNAM-$VERSION
chown -R root:root .
find -L .  -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \
        \! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} \+

# README.rst says not to use setup.py, use installer.py instead.
# It looks like someone wrote 100 lines of python code that
# does the same thing as "cp -a $src $target" would do, but
# I guess when all you have is a hammer...
python3 installer.py --srcdir=mcomix --target=$PKG/usr/share

# executables get symlinks. the .desktop and .thumbnailer files
# refer to these as "mcomix" and "comicthumb", with no absolute
# path and without the .py extension, so these are absolutely
# necessary (instead of just being convenient).
mkdir -p $PKG/usr/bin
ln -s ../share/mcomix/mcomixstarter.py $PKG/usr/bin/mcomix
ln -s ../share/mcomix/comicthumb.py $PKG/usr/bin/comicthumb

# .desktop and icons don't get installed by installer.py
mkdir -p $PKG/usr/share/applications
cp -a mime/mcomix.desktop $PKG/usr/share/applications

# symlink app icons, not move. it's not 100% clear to me whether the
# application uses them in their original location or not.
PKGHIC=$PKG/usr/share/icons/hicolor
for i in 16 22 24 32 48; do
  px="${i}x${i}"
  mkdir -p $PKGHIC/$px/{apps,mimetypes}
  #cp -a mcomix/mcomix/images/$px/* $PKGHIC/$px/apps
  ln -s ../../../../mcomix/mcomix/images/$px/mcomix.png $PKGHIC/$px/apps/mcomix.png
  cp -a mime/icons/$px/* $PKGHIC/$px/mimetypes
done

# mime stuff also needs manual install.
mkdir -p $PKG/usr/share/metainfo \
         $PKG/usr/share/glib-2.0/schemas \
         $PKG/usr/share/thumbnailers
cp -a mime/mcomix.appdata.xml     $PKG/usr/share/metainfo
cp -a mime/comicbook.schemas      $PKG/usr/share/glib-2.0/schemas
cp -a mime/comicthumb.thumbnailer $PKG/usr/share/thumbnailers

mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a README* $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild

mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cat $CWD/doinst.sh > $PKG/install/doinst.sh

cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE
